noexcept for <memory>. I've added a few extension noexcept to: allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const. My rationale was: If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept. We're all a little new to noexcept, so things like this are to be expected. Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|. And fixed a test case for is_nothrow_destructible. Destructors are now noexcept by default| git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@132261 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/__locale b/include/__locale index 67f191c..099014f 100644 --- a/include/__locale +++ b/include/__locale 
@@ -103,7 +103,7 @@  // facet(const facet&) = delete; // effectively done in __shared_count  // void operator=(const facet&) = delete;  private: - virtual void __on_zero_shared(); + virtual void __on_zero_shared() _NOEXCEPT;  };    class _LIBCPP_VISIBLE locale::id